Motion sensing is used for a wide variety of different applications, including image stabilization applications, security applications, moving object tracking applications, and human-machine interface applications. Motion sensors typically generate output signals that are indicative of movement of the motion sensor in relation to a reference frame. Exemplary motion sensing devices are inertial motion sensors and optical motion sensors.
Inertial motion sensors typically include an inertial sensor that generates an output signal that is indicative of acceleration of the inertial sensor in relation to an inertial reference frame and a signal processor that converts the output signal into velocity or displacement information. The inertial sensor may include any type of inertial sensing device, including an accelerometer-based inertial sensing device and a gyroscope-based inertial sensing device. Accelerometers sense and respond to translational accelerations, whereas gyroscopes sense and respond to changes in rotational rates. For both accelerometer-based inertial sensing devices and gyroscope-based inertial sensing devices, the signal processor determines velocity information and the displacement information by integrating the output signals generated by the inertial sensors over time.
Optical motion sensors typically include an image sensor that captures images of a scene and an image processor that detects motion in the captured images. The image sensor captures images at a rate that is fast enough so that sequential pictures of the scene overlap. The image processor detects scene changes based on comparisons between successive ones of the captured images. In some motion tracking approaches, the image processor identifies texture or other features in the images and tracks the motion of such features across successive images by determining the direction and distance by which the identified features are shifted or displaced.
In general, the motion that is reported by inertial motion sensors is due to the acceleration of the inertial motion sensors in relation to a fixed inertial reference frame. The motion that is reported by optical motion sensors, on the other hand, may be caused by motion of the image sensor in relation to the scene or by motion of objects appearing in the scene. In order to produce accurate motion sensing results, there oftentimes is a need to distinguish motion of the image sensor from motion of objects appearing in the imaged scene. In some applications, such as optical computer mouse applications, the scene (e.g., a tabletop surface) is fixed and, therefore, the motion reported by the optical motion sensor can be assumed to be due to movement of the optical motion sensor or noise. In many other applications, including image stabilization applications, mobile object tracking applications, and three-dimensional video game controller applications, the imaged scene typically does not contain a fixed reference surface.
What are needed are optical motion sensing systems and methods that are capable of distinguishing between movements of the optical motion sensing system and movements of objects appearing in the imaged scene, especially is cases in which the imaged scene does not contain a fixed reference surface.